require("lualib_bundle");
__TS__SourceMapTraceBack(debug.getinfo(1).short_src, {["4"] = 3,["5"] = 3,["6"] = 8,["7"] = 8,["8"] = 8,["9"] = 8,["10"] = 12,["11"] = 13,["12"] = 8,["13"] = 15,["14"] = 8,["16"] = 16,["18"] = 17,["19"] = 8,["21"] = 18,["24"] = 12,["25"] = 71,["26"] = 72,["27"] = 71,["28"] = 143,["29"] = 144,["30"] = 143});
local ____exports = {}
local ____handle = require("solar.w3ts.handles.handle")
local Handle = ____handle.Handle
____exports.Effect = __TS__Class()
local Effect = ____exports.Effect
Effect.name = "Effect"
__TS__ClassExtends(Effect, Handle)
function Effect.prototype.____constructor(self, modelName, a, b)
    if Handle:initFromHandle() then
        Handle.prototype.____constructor(self)
    elseif type(a) == "number" and type(b) == "number" then
        Handle.prototype.____constructor(
            self,
            AddSpecialEffect(modelName, a, b)
        )
    elseif type(a) ~= "number" and type(b) == "string" then
        Handle.prototype.____constructor(
            self,
            AddSpecialEffectTarget(modelName, a.handle, b)
        )
    end
end
function Effect.prototype.destroy(self)
    DestroyEffect(self.handle)
end
function Effect.fromHandle(self, handle)
    return self:getObject(handle)
end
return ____exports
